//
//  InputManager.h
//  GSEngine
//
//  Created by Гукун Александр on 2/5/14.
//  Copyright (c) 2014 SNK. All rights reserved.
//

#ifndef __GSEngine__InputManager__
#define __GSEngine__InputManager__

#include <iostream>
#include <GSEngine/Math/GSMath.h>

namespace GSEngine
{
    class InputManager
    {
    private:
          vec2f m_lastPosition;
    public:
        // data
        static InputManager* m_instance;
        // methods
        InputManager();
        ~InputManager();
        static InputManager* getInstance();
        // input methods
        void beginTouch(const vec2f scrPos, int tapCount, int touchID);
        void moveTouch(const vec2f scrPos, int tapCount, int touchID);
        void endTouch(const vec2f scrPos, int tapCount, int touchID);
        void cancelTouch(const vec2f scrPos, int tapCount, int touchID);

    };
    inline InputManager* InputManager::getInstance()
    {
        if (m_instance == NULL)
            m_instance = new InputManager();
        return m_instance;
    }
}

#endif /* defined(__GSEngine__InputManager__) */
